package models

import (
	"context"
	"fmt"
	"log"

	"github.com/go-redis/redis/v8"
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

var DB *gorm.DB
var err error
var RDB *redis.Client
var Rctx context.Context

func init() {
	// 连接mysql
	dsn := "root:hj123456@tcp(127.0.0.1:3306)/golang_db?charset=utf8mb4&parseTime=true&loc=Local"
	DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
	if err != nil {
		fmt.Println("mysql连接失败:", err)
	}

	// 连接redis
	RDB = redis.NewClient(&redis.Options{
		Addr:     "localhost:6379", // Redis地址
		Password: "",               // Redis密码，如果没有则留空
		DB:       0,                // 使用默认DB
	})
	Rctx = context.Background()
	_, errRedis := RDB.Ping(Rctx).Result()
	if errRedis != nil {
		log.Fatalf("Redis连接失败: %v", errRedis)
	}
}
